# FLEXINVERT solver stream tasks

$(call FLEX_REGISTER_BRANCH_TASK,FLEX_B1,baseline,done,essential,SOLVER,Port HBH^T literal loops into Julia path,$(call FLEX_REF,library/global/todo-roadmap.md),mira,2025-10-05,P0,solver parity,HBH loops match Fortran results within tolerance,)
$(call FLEX_REGISTER_BRANCH_TASK,FLEX_B1,optimized,done,essential,SOLVER,Port HBH^T literal loops into Julia path,$(call FLEX_REF,library/global/todo-roadmap.md),mira,2025-10-05,P0,solver parity,HBH loops match Fortran results within tolerance,)
$(call FLEX_REGISTER_BRANCH_TASK,FLEX_B2,baseline,todo,essential,SOLVER,Reproduce residual assembly with NUMSCALE and outheight handling,$(call FLEX_REF,library/global/todo-roadmap.md),mira,2025-11-10,P1,solver residuals,Residual vectors equalised for NUMSCALE cases,)
$(eval STATUS_FLEX_B2_BASE := waiting)
$(call FLEX_REGISTER_BRANCH_TASK,FLEX_B2,optimized,todo,essential,SOLVER,Reproduce residual assembly with NUMSCALE and outheight handling,$(call FLEX_REF,library/global/todo-roadmap.md),mira,2025-11-10,P1,solver residuals,Residual vectors equalised for NUMSCALE cases,)

# FLEX_B2 baseline decomposition
$(call REGISTER_TASK,FLEX_B2_BASE_PREP,done,essential,SOLVER,Stabilise Julia baseline residual scaffolding,$(call FLEX_REF,prompt/proj7/progress_report_05deg_julia_independent_20251030.md))
$(call REGISTER_META,FLEX_B2_BASE_PREP,mira,2025-10-30,P1,solver baseline prep,Independent Julia run replicates baseline artefact flow without Fortran overrides,prompt/proj7/work-log.txt)
$(call REGISTER_SUCCESS,FLEX_B2_BASE_PREP,logs/flexinvert/baseline/success/FLEX_B2_BASE_PREP.md)
$(eval BRANCH_OF_FLEX_B2_BASE_PREP := baseline)

$(call REGISTER_TASK,FLEX_B2_BASE_QA,done,essential,SOLVER,Establish independent-mode QA coverage and summaries,$(call FLEX_REF,prompt/proj7/progress_report_05deg_julia_independent_20251030.md))
$(call REGISTER_META,FLEX_B2_BASE_QA,mira,2025-10-30,P1,solver qa independent,QA summary shows coverage_ok=zwork_dense_ok=hbht_spd_ok=True,runs/run/work/minimal_env/flexinvert_run/FIVOUT_05deg_julia/QA_summary_independent.txt)
$(call REGISTER_SUCCESS,FLEX_B2_BASE_QA,logs/flexinvert/baseline/success/FLEX_B2_BASE_QA.md)
$(eval BRANCH_OF_FLEX_B2_BASE_QA := baseline)

$(call REGISTER_TASK,FLEX_B2_BASE_SCALING,todo,essential,SOLVER,Lock eigen_postit whitening consistency and metrics,$(call FLEX_REF,prompt/proj7/progress_report_05deg_julia_independent_20251030.md))
$(call REGISTER_META,FLEX_B2_BASE_SCALING,mira,2025-11-05,P1,solver scaling,||H·B^{1/2}-H_reduced|| ≤ 1e-6; zwork/hbht rel errors ≤ 5%,)
$(call REGISTER_SUCCESS,FLEX_B2_BASE_SCALING,logs/flexinvert/baseline/success/FLEX_B2_BASE_SCALING.md)
$(eval BRANCH_OF_FLEX_B2_BASE_SCALING := baseline)

$(call REGISTER_TASK,FLEX_B2_BASE_INITCONC,waiting,essential,SOLVER,Align INITCONC monitors via cinipos interpolation,$(call FLEX_REF,prompt/proj7/progress_report_05deg_julia_independent_20251030.md))
$(call REGISTER_META,FLEX_B2_BASE_INITCONC,mira,2025-11-07,P1,solver initconc monitors,Monitor columns agree within 5% after cinipos monthly interpolation,)
$(call REGISTER_SUCCESS,FLEX_B2_BASE_INITCONC,logs/flexinvert/baseline/success/FLEX_B2_BASE_INITCONC.md)
$(eval BRANCH_OF_FLEX_B2_BASE_INITCONC := baseline)

$(call REGISTER_TASK,FLEX_B2_BASE_QA_HARDEN,todo,essential,SOLVER,Harden independent QA gates and CI wiring,$(call FLEX_REF,prompt/proj7/progress_report_05deg_julia_independent_20251030.md))
$(call REGISTER_META,FLEX_B2_BASE_QA_HARDEN,mira,2025-11-08,P2,solver qa ci,QA_summary_independent drives CI gate; rotation policy documented,)
$(call REGISTER_SUCCESS,FLEX_B2_BASE_QA_HARDEN,logs/flexinvert/baseline/success/FLEX_B2_BASE_QA_HARDEN.md)
$(eval BRANCH_OF_FLEX_B2_BASE_QA_HARDEN := baseline)
$(call REGISTER_AGGREGATE,FLEX_B2_BASE,FLEX_B2_BASE_PREP FLEX_B2_BASE_QA FLEX_B2_BASE_SCALING FLEX_B2_BASE_INITCONC FLEX_B2_BASE_QA_HARDEN)

$(call FLEX_REGISTER_BRANCH_TASK,FLEX_B3,baseline,todo,essential,SOLVER,Align Cholesky solve for HBH^T plus R,$(call FLEX_REF,library/global/todo-roadmap.md),mira,2025-11-14,P1,solver cholesky,Cholesky solve residual below 1e-12,)
$(call FLEX_REGISTER_BRANCH_TASK,FLEX_B3,optimized,todo,essential,SOLVER,Align Cholesky solve for HBH^T plus R,$(call FLEX_REF,library/global/todo-roadmap.md),mira,2025-11-14,P1,solver cholesky,Cholesky solve residual below 1e-12,)
$(call FLEX_REGISTER_BRANCH_TASK,FLEX_B4,baseline,todo,essential,SOLVER,Diff analytic artefacts to tight tolerances,$(call FLEX_REF,library/global/todo-roadmap.md),mira,2025-11-18,P1,solver validation,Artefact diffs under configured tolerance,)
$(call FLEX_REGISTER_BRANCH_TASK,FLEX_B4,optimized,todo,essential,SOLVER,Diff analytic artefacts to tight tolerances,$(call FLEX_REF,library/global/todo-roadmap.md),mira,2025-11-18,P1,solver validation,Artefact diffs under configured tolerance,)
